package com.example.demo.service.weCon;

import com.example.demo.entity.DTO.WeConDepartmentDTO;
import com.example.demo.entity.QUERY.WeConDepartmentQuery;
import com.example.demo.enums.WeConFunctionType;
import java.util.List;

/**
 * 通讯录管理
 *
 * @author jack
 * @data 2021/8/13 10:36 上午
 */

public interface ContactsManagementService {

  /**
   * 获取默认类型
   *
   * @return
   */
  default WeConFunctionType getWeConFunctionType() {
    return WeConFunctionType.CONTACTS_MANAGEMENT;
  }

  /**
   * 获取企业活跃成员数
   *
   * @param date
   * @return
   */
  Integer getActiveStat(String date);

  /**
   * 获取加入企业二维码
   *
   * @return
   */
  String getJoinQrcode();

  /**
   * 获取部门列表
   *
   * @param id
   * @return
   */
  List<WeConDepartmentDTO> listDepartment(Integer id);

  /**
   * 创建部门
   *
   * @param weConDepartmentQuery
   * @return
   */
  void createDepartment(WeConDepartmentQuery weConDepartmentQuery);

  /**
   * 修改部门
   *
   * @param weConDepartmentQuery
   */
  void updateDepartment(WeConDepartmentQuery weConDepartmentQuery);

  /**
   * 删除部门
   *
   * @param id
   */
  void deleteDepartment(Integer id);
}
